Docker 學習筆記

Dcoekr是什麼

Docker 組成:

  • Docker client
  • Docker server

Docker 組件

  • 鏡像 (image)

    普遍鏡像依賴於Linux內核在封裝服務所提供的,稱為鏡像。

  • 容器 (container)

    以鏡像建立成應用或服務的,稱為容器。

  • 倉庫 (repository)

    倉庫是存放鏡像檔案的地方,分為公開倉庫及私有倉庫。公開倉庫如https://hub.docker.com/,私有倉庫則可自行搭建。

Docker Container VS 虛擬機

少了客體作業系統(Guest OS)這一層,更接近原生也更輕量。

Docker使用場景

  • 使用Docker容器開發、測試、部署服務
  • 創建隔離的運行環境
  • 搭建測試環境

Docker 安裝

Ubuntu系統安裝Docker方法非常簡單,可以直接參考以下網址的教學。

Ubuntu 16.04 安装

(記得:注销当前用户,重新登陆)

Docker 基本使用

查看Docker版本

1
docker -v

拉取鏡像

1
docker pull IMAGE

啟動容器

如果鏡像不存在,會自動拉取鏡像

1
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Options:

1
2
3
4
5
6
-d 後台運行
-p 指定端口映射 (ex:80:80)
-P 隨機端口映射
-it 啟動並進入容器
—rm 退出後自動刪除
--name 自定義容器名

更多Dockcer Run

查看已建立的容器

1
docker ps [OPTIONS]

Options:

1
2
-a 顯示所有容器(默認只有顯示正在運行的容器)
-l 顯示最新建立的容器

更多Dockcer Ps

刪除容器

1
docker kill [OPTIONS] CONTAINER [CONTAINER...]

顯示所有鏡像

1
docker images [OPTIONS] [REPOSITORY[:TAG]]

查看日誌

1
docker logs [OPTIONS] CONTAINER

Options:

1
2
-f 實時更新
-t 顯示時間

更多docker logs

運行所有容器

1
docker start $(docker ps -a -q)

停止所有容器

1
docker stop $(docker ps -a -q)

殺死所有正在運行的容器

1
docker kill $(docker ps -a -q)

刪除所有鏡像

1
docker rmi $(docker images -q)

進入容器

1
2
docker exec CONTAINER
docker attach CONTAINER